The present disclosure relates to server load balancing in a wireless network, and in particular, one embodiment of the disclosure relates to dynamically load balancing transaction-persistent requests among a set of authentication servers.
Persistence (also known as “stickiness”), in the context of server load balancing, is preserved by transmitting requests associated with the same transaction to the same server for handling.
Conventionally, server load balancing follows a round robin (RR) approach. In a simple round robin, a load balancer transmits to each server transaction-persistent requests in a periodically repeated order. For example, assuming that a distributed system includes three authentication servers, such as, AS1, AS2, and AS3, the load balancer will always transmit transaction-persistent requests to the authentication servers according to the following order—AS1, AS2, AS3, AS1, AS2, AS3, AS1, . . . Thus, the simple round robin algorithm does not take into account capacities of the authentication servers.
A weighted round robin (WRR) is similar to the simple round robin, but assigns weights to the authentication servers based on their capacities. In the above example, assuming that the capacities of AS1, AS2, and AS3 are 4, 2, and 2, respectively, the load balancer will assign weights 2, 1, 1 to AS1, AS2, and AS3 accordingly. Thus, with the weighted round robin, the load balancer will transmit transaction-persistent requests to the authentication servers according to the following order—AS1, AS1, AS2, AS3, AS1, AS1, AS2, . . . However, WRR requires knowledge of the server capacities. Moreover, both simple RR and WRR are static scheduling approaches that do not consider dynamic real-time transmission latency in a network.